The present invention relates generally to the development of software applications and, specifically, to novel methods, systems and software products for testing applications during or after their development.
Software developers have at their disposal a variety of tools and methodologies for testing software applications under development. For instance, commercial products like WinRunner™, available from Mercury Interactive Corp., allow for relatively automated testing of applications using predefined scripts. In these and other ways, developers can test the behavior of applications given different inputs and operating environments. Generally, however, automated testing tools require the composition of scripts, which define the circumstances for the test, and which can themselves be cumbersome to develop. Thus, while current automated testing tools can be helpful in quality testing applications, they still require significant effort before any meaningful testing can be done.
Further, existing development tools are not well-suited for testing applications designed to be accessible to physically-disadvantaged users. The Americans with Disabilities Act (“ADA”) contains provisions relating to providing accommodations for persons suffering from disabilities. The ADA, therefore, potentially could be used to ensure that that software programs are sufficiently accessible to allow employees with certain physical disabilities to use the programs in the performance of their jobs. For instance, a program might need to be accessible to sight-impaired users by, inter alia, allowing navigation by sound and/or announcing audibly the position of certain components, cursors and the like. To accommodate these provisions, various programming languages and development environments have begun to include appropriate development tools to facilitate the development of accessible applications.
Merely by way of example, the Java programming language, and in particular, recent editions of the Java Development Kit (“JDK”), developed by Sun Microsystems (“Sun”), include an Accessibility API to facilitate developing Java-based applications in compliance with the ADA. This API provides accessible classes to allow for the development of applications that are compliant with ADA requirements, including, for instance, by providing an accessibility context for each component in an application, such that the component can be audibly identified by reference to the accessibility context.
Currently, however, there are few satisfactory means for testing the accessible features of an application, other than manual evaluation of the accessibility context of a component for fidelity with that component's actual properties.